SPS Receivers
SPS receivers, such as, for example, receivers using the Global Positioning System (“GPS”), also known as NAVSTAR, have become commonplace. It is appreciated by those skilled in the art that GPS systems include Satellite Positioning System “SPS” and/or Navigation Satellite Systems. In general, GPS systems are typically satellite (also known as “space vehicle” or “SV”) based navigation systems. Examples of GPS systems include but are not limited to the United States (“U.S.”) Navy Navigation Satellite System (“NNSS”) (also know as TRANSIT), LORAN, Shoran, Decca, TACAN, NAVSTAR, the Russian counterpart to NAVSTAR known as the Global Navigation Satellite System (“GLONASS”) and any future Western European GPS such as the proposed “Galileo” program. As an example, the US NAVSTAR GPS system is described in GPS Theory and Practice, Fifth ed., revised edition by Hofmann-Wellenhof, Lichtenegger and Collins, Springer-Verlag Wien New York, 2001, which is fully incorporated herein by reference.
GPS is funded by and controlled by the U.S. Department of Defense (DOD). While there are many thousands of civil users of GPS worldwide, the system was designed for and is operated by the U.S. military. GPS provides specially coded satellite signals that can be processed in a GPS receiver, enabling the receiver to compute position, velocity, and time. At least four GPS satellite signals are used to compute positions in three dimensions and the time offset in the receiver clock.
GPS position determination is based on a simple mathematical principle called trilateration. In order to solve for user position, the GPS receiver must determine two things: the location of at least three satellites above the user, and the distance between the user and each of those satellites. The GPS receiver solves these variables by analyzing high-frequency, low-power radio signals from the GPS satellites.
At a particular time every day, the GPS satellite or Space Vehicle (SV) begins transmitting a long, repeating, digital pattern called a pseudo-random code. The GPS receiver begins running the same digital pattern also at exactly the same time. When the satellite's signal reaches the receiver, its transmission of the pattern will lag slightly behind the receiver's running of the pattern. The length of the delay is equal to the signal's travel time. The receiver multiplies this time by the speed of light to determine how far the signal traveled. Assuming the signal traveled in a straight line, this is the distance from the receiver to the satellite.
In order to make this measurement, the GPS receiver and satellite both need clocks that can be synchronized down to the nanosecond. To make a satellite positioning system using only synchronized clocks, one would need to have atomic clocks not only on all of the satellites, but also in the GPS receiver itself. Atomic clocks are not an inexpensive consumer product. However, the Global Positioning System uses a clever, effective solution to this problem. Every satellite contains an expensive atomic clock, but the receiver itself uses an ordinary quartz clock, which it constantly resets. In summary, the receiver looks at incoming signals from four or more satellites and gauges its own inaccuracy, but, of course, the GPS clock is a source of errors too.
To determine location using four satellites, the GPS receiver mathematically requires (for three-dimensional positioning) that four spheres having a radius equal to the distance from an SV to the GPS receiver, all intersect at one point. Three spheres will intersect even if there are inaccuracies, but four spheres will not intersect at one point if the GPS receiver has measured incorrectly. Since the GPS receiver makes all its distance measurements using its own built-in clock, the distances will all be proportionally incorrect.
The GPS receiver can easily calculate the necessary adjustment that will cause the four spheres to intersect at one point. Based on this, it resets its clock to be in sync with the satellite's atomic clock. The GPS receiver does this constantly whenever it is on, which means it is nearly as accurate as the expensive atomic clocks in the satellites.
In order for the distance information to be of any use, the GPS receiver also has to know where the satellites actually are located. This is not particularly difficult because the satellites travel in very high and predictable orbits, the GPS receiver simply stores an almanac in memory describing where every satellite should be at any given time. Gravitational forces like the pull of the moon and the sun do change the satellites' orbits very slightly, but the Department of Defense constantly monitors their exact positions and transmits any adjustments to all GPS receivers as part of the satellites' signals.
This system works well, but inaccuracies are present. For example, this method assumes the radio signals will make their way through the atmosphere at a consistent speed (the speed of light). In fact, the Earth's atmosphere slows the electromagnetic energy down somewhat, particularly as it goes through the ionosphere and troposphere. The delay varies depending on where you are on Earth, which means it is difficult to accurately factor this into the distance calculations. Problems can also occur when radio signals bounce off large objects, such as skyscrapers, giving a receiver the impression that a satellite is farther away than it actually is. This phenomenon is sometimes referred to as multipath. Furthermore, satellites sometimes transmit inaccurate almanac data, misreporting their own positions.
Differential GPS (DGPS) helps correct these errors. The basic idea is to gauge GPS inaccuracy at a stationary receiver station. Since the DGPS hardware at the station already knows its own position, it can easily calculate its receiver's inaccuracy. The station then broadcasts a radio signal to all DGPS-equipped receivers in the area, providing signal correction information for that area. In general, access to this correction information makes DGPS receivers much more accurate than ordinary receivers.
Three binary codes shift the satellite's transmitted L1 and/or L2 frequency carrier phase. The C/A Code (Coarse Acquisition) modulates the L1 carrier phase. The C/A code is a repeating 1 MHz Pseudo Random Noise (PRN) Code. This noise-like code modulates the L1 carrier signal, “spreading” the spectrum over a 1 MHz bandwidth. The C/A code repeats every 1023 bits (one millisecond). There is a different C/A code PRN for each SV. GPS satellites are often identified by their PRN number, the unique identifier for each pseudo-random-noise code. The C/A code that modulates the L1 carrier is the basis for the civil uses of GPS.
The GPS receiver produces the C/A code sequence for a specific SV with some form of a C/A code generator. Modem receivers usually store a complete set of precomputed C/A code chips in memory, but a hardware shift register implementation can also be used. The C/A code generator produces a different 1023 chip sequence for each phase tap setting. In a shift register implementation the code chips are shifted in time by slewing the clock that controls the shift registers. In a memory lookup scheme the required code chips are retrieved from memory. The C/A code generator repeats the same 1023-chip PRN-code sequence every millisecond. PRN codes are defined for 32 satellite identification numbers. The receiver slides a replica of the code in time until there is correlation with the SV code.
Receiver position, that is, the end user position, is computed from the SV positions, the measured pseudo-ranges (corrected for SV clock offsets, ionospheric delays, and relativistic effects), and a receiver position estimate (usually the last computed receiver position). This is illustrated in the following pseudo-range navigation solution example, where three satellites are used to determine three position dimensions with a perfect receiver clock. In actual practice, three SVs are used to compute a two-dimensional, horizontal fix (in latitude and longitude) given an assumed height. This is often possible at sea or in altimeter equipped aircraft. Five or more satellites can provide position, time and redundancy. More SVs can provide extra position fix certainty and can allow detection of out-of-tolerance signals under certain circumstances.
In addition to the aforementioned clock errors, multipath errors, and land almanac errors, GPS position errors result from a combination of many other factors, including noise, bias, and blunders. Noise, bias, and blunder errors combine, resulting in typical ranging errors for each satellite used in the position solution. Noise errors are the combined effect of PRN code noise (around one meter) and noise within the receiver noise (around one meter). Bias errors result from Selective Availability and other factors. SA is controlled by the DOD to limit accuracy for non-U.S. military and government users. The potential accuracy of the C/A code of around 30 meters is reduced to 100 meters. Additionally, SV clock errors, Ephemeris data errors, Tropospheric delays, Ionosphere delays, and multipaths can all result in bias errors. Multipath is caused by reflected signals from surfaces near the receiver that can either interfere with or be mistaken for the signal that follows the straight line path from the satellite. Multipath is difficult to detect and sometimes hard to avoid. Blunders can result in errors of hundreds of kilometers. Blunders include control segment mistakes due to computer or human error and can cause errors from one meter to hundreds of kilometers. User mistakes, including incorrect geodetic datum selection, can cause errors from one to hundreds of meters. Receiver errors from software or hardware failures can cause blunder errors of any size.
In an environment where the SPS signal reception is poor, dead reckoning (DR) position data can be used to supplement SPS receiver position information. In the terrestrial or near-terrestrial environment, such as for automobiles, ships, boats, and aircraft, dead reckoning uses such simple “inertial navigation” tools as an odometer sensor and a gyroscope, such as a vibrational gyroscope.
DR navigation requires that the vehicle's travel distance and direction are available in substantially real time and on a substantially continuous basis. In textbook dead reckoning, the distance and direction are represented as a vector sum of the many course and distance vectors from origin to current location. In the aviation and marine environments, wind and current vectors are also present from instrumentation. In an automobile, the travel distance information is obtained from an odometer, while the direction information is typically obtained from a gyroscope, to provide location information.
SPS and DR in Automotive Applications
If a vehicle equipped with DR navigation starts a trip from a known location, the distance and direction from the known location can be used to determine the current location. For example, if the vehicle is traveling on a flat road, the travel and direction information (the individual direction and distance (that is, either “velocity times time” or odometer) vectors) can be summed to compute the vehicle's present position.
An odometer is a standard item of equipment, where the number of revolutions at a non-traction wheel is converted into a distance traveled value. The number of revolutions is converted into a distance with the odometer scale factor. However, the odometer scale factor changes over time due, for example, to tire slipping and skidding, tire pressure variations, tire wear, and even vehicle speed. This can cause significant positional error. However, vibrational gyroscopes are sensors that measure the angular rate (heading rate) based on Coriolis acceleration. A vibrational gyroscope outputs a voltage that is proportional to the angular velocity of the vehicle. The vehicle's heading rate is obtained by multiplying the vibrational gyroscope output voltage by a scale factor. However, vibrational gyroscopes, like odometers, also suffer from error accumulation. This can be due to gyroscope bias and scale factor instability. Gyroscope bias is almost always present, and is to some extent temperature dependent. It is an observable error, and can cause a gyroscope to output a non-zero value even if the angular velocity is zero. Gyroscope bias is observable even when the vehicle is not moving or when it is moving in a straight line. Gyroscope scale factor error affects gyroscope measurements when the vehicle is turning.
Both SPS receivers and DR suffer from limitations. For example, the SPS signal may have SPS receiver errors or the SPS signal may not be available in obstructed areas such as urban canyons or tunnels. While the DR system can drift over time and accumulate errors. However, the integration of SPS and DR yields a positioning system that is superior to either SPS or DR alone. The two systems are integrated through digital signal processing (DSP) where the SPS subsystem inputs control the drift and error accumulation of the DR subsystem, and the DR subsystem becomes the main positioning system during SPS outages. The result is an integrated system that is better than either alone.
The integration of SPS with DR in the urban terrestrial environment is particularly valuable for urban transit vehicles, urban delivery vehicles, and first responder vehicles. In the case of urban transit vehicles, real time transit vehicle locations aid scheduling and vehicle management and can provide real time information to passengers at transit stops. For delivery vehicles, real time position information is a powerful fleet monitoring tool that minimizes delivery delays and enhances profitability. As to first responder emergency vehicles, the minimization of delays enroute to a fire, accident, or life threatening medical emergency is critical.
Current Problems with Conventional SPS and DR in Automotive Applications
Conventional automotive SPS systems with DR implementations typically comprise a SPS receiver and a navigation processor, which has the capability of receiving direct DR sensor measurements, i.e. the gyroscope and odometer signals are brought directly to the navigation processor from the sensors themselves. The reason this is done is twofold. Firstly, it eliminates any timing discrepancy between the DR sensors' measurements and the SPS measurements; they are all on the same time base. Secondly, It gives the system architect complete control over the DR sensor sampling rate. Usually, the gyroscope will be collocated with the navigation processor, and odometer and reverse signals will come in to the navigation processor through dedicated wires (one wire per signal) directly to the navigation processor. Finally, in most instances, the SPS system is only part of a larger dedicated system, such as a telematics system, that provides all data inputs and outputs to the rest of an automobile.
In conventional systems the navigation processor and SPS receiver data are combined with vehicle sensor data, such as gyroscope data, to produce a vehicle location solution. Vehicle sensor data, however, is processed using DR calculations to obtain a vehicle location. Though SPS receiver data alone provides location, current vehicle location technology can combine the SPS receiver data with vehicle sensor data so that the two data sources may supplement and enhance each other. For example, if SPS measurements are temporarily unavailable due to a major obstruction existing between the vehicle's SPS antenna and the SPS satellites, vehicle sensor data can provide location using DR calculations alone.
Referring to FIG. 1, an automobile navigation system 100 found in the prior art is shown. A SPS antenna 102 receives SPS signals transmitted from SPS satellites 103. The SPS signals are sent to the SPS receiver 104. Typically, the SPS receiver comprises a SPS radio and a location processor. In the SPS receiver 104, the SPS signals are converted from analog to digital signals. The location processor in the SPS receiver 104 uses these digital signals to compute position, velocity, and heading. The SPS receiver then sends the computed values for position, velocity, and heading, the SPS receiver data, to a navigation processor 106. The navigation processor 106 receives other sources of data in addition to the SPS receiver data. The navigation processor 106 receives heading rate data from a gyroscope 108. The gyroscope 108 is physically connected to the navigation processor 106 with a wire. The gyroscope 108 provides vehicle data representing the heading rate of the vehicle. This is a direct measurement of heading.
Typically, the navigation processor 106 receives two other sources of vehicle sensor data in addition to the gyroscope and SPS receiver data. The navigation processor 106 receives vehicle sensor data from the vehicle speed sensor 110 and the vehicle reverse signal sensor 112. The vehicle speed sensor 110 provides a vehicle speed signal to the navigation processor 106. The vehicle reverse signal sensor 112 provides reverse signal data to the navigation processor 106. These two sensors are physically connected to the navigation processor 106 with wires.
So the navigation processor 106 typically receives four sources of data, the SPS receiver data, the gyroscope data, the vehicle speed signal data, and the reverse signal data. These four sources of data are each provided to the navigation processor 106 separately. In some systems, the navigation processor 106 receives additional sources of vehicle sensor data, such as, for example, compass data and map data, used in determining location and navigation solutions for the vehicle. These sources of data are combined and processed in the navigation processor 106 to provide a vehicle location result. Typically, the SPS receiver data plays two roles in the calculations taking place in the navigation processor 106. One role is to calibrate the other vehicle sensor data. Another role is to check on the accuracy of the location solution obtained by the dead reckoning calculations performed on the gyroscope and the vehicle sensor data (the non-SPS receiver data).
Once the navigation processor 106 calculates a vehicle location solution based on the SPS receiver data and the vehicle sensor data, the vehicle location solution is typically sent to an external output, such as, for example, a display 114. The display 114 can be viewed by the vehicle operator thus providing the driver with location information. Other similar examples of SPS systems found in the prior art are described in Understanding GPS: Principles and Applications, ch. 9 (Elliott D. Kaplan ed., Artech House Publishers, 1996), incorporated herein by reference in its entirety.
This traditional system for determining vehicle location has drawbacks. Conventional automotive SPS systems with DR implementations as described above have at least some disadvantages. Firstly, there are installation issues. In order to operate the system, an installer must make a physical connection to the vehicle speed sensor (VSS) and to the source of the reverse signal. Since there is no one industry wide standard dedicated connection for these signals in a motor vehicle, the process of locating and routing these wires tends to be labor intensive and prone to errors. In order for the system to operate, a physical connection must be installed between each of these vehicle sensors directly to the navigation processor. Since these vehicle sensors are often in different locations on the vehicle and the process of routing wires from the individual vehicle sensors to the navigation processor can be difficult.
Secondly, because the DR+SPS receiver is part of a larger system, the internal navigation data is usually not available to the rest of the automobile's systems. However, there is a need to have access to this broader level of information, for example in an integrated position and diagnostics reporting unit.
Another drawback of the traditional system described is the difficulty associated with using gyroscopes. Gyroscope operation is directionally sensitive. To properly operate, a gyroscope must be installed in a specific direction with respect to the object being measured by the gyroscope. This design parameter constrains vehicle designers with respect to how and where to install a gyroscope. This difficulty associated with the use of gyroscopes provides a drawback to location systems designed with gyroscopes.
Yet another drawback associated with the traditional system is a limitation on vehicle sensor data access. As described, data from a vehicle sensor is sent from that particular vehicle sensor over a wire to the navigation processor. The vehicle sensor data sent via the hardwire connections from each vehicle sensor to the navigation processor is not available outside of the navigation processor. This limits the application of this vehicle sensor data. The limited access to the data received by the navigation processor is an inefficiency in the traditional system.
Therefore, a need exists for new and better methods and systems for using data in SPS systems. This invention provides methods and systems for improved use of data with SPS systems.